Inheritance diagram for I3DShInstance:

Public Types | |
| enum | EInstanceKind { kPrimitiveInstance = 1, kSceneInstance = 2, kCameraInstance = 3, kLightInstance = 4, kInstanceKind_Max = 0x7fffffff } |
| These are the constants returned from GetInstanceKind(). More... | |
Public Member Functions | |
| virtual MCCOMErr MCCOMAPI | Get3DObject (I3DShObject **object)=0 |
| virtual MCCOMErr MCCOMAPI | Set3DObject (I3DShObject *object)=0 |
| virtual MCCOMErr MCCOMAPI | SetShader (I3DShMasterShader *masterShader)=0 |
| virtual MCCOMErr MCCOMAPI | GetShader (I3DShMasterShader **masterShader)=0 |
| virtual boolean MCCOMAPI | UsesDefaultShader ()=0 |
| virtual uint32 MCCOMAPI | GetUVSpaceCount ()=0 |
| virtual MCCOMErr MCCOMAPI | GetUVSpace (uint32 uvSpaceID, UVSpaceInfo *uvSpaceInfo)=0 |
| virtual MCCOMErr MCCOMAPI | GetUVSpaceShader (uint32 uvSpaceID, I3DShMasterShader **masterShader)=0 |
| virtual MCCOMErr MCCOMAPI | SetUVSpaceShader (uint32 uvSpaceID, I3DShMasterShader *masterShader)=0 |
| virtual MCCOMErr MCCOMAPI | GetShadingFlags (ShadingFlags &theFlags)=0 |
| virtual void MCCOMAPI | ShadeAndLight (LightingDetail &result, const LightingContext &lightingContext)=0 |
| virtual MCCOMErr MCCOMAPI | DoShade (ShadingOut &shadingOut, ShadingIn &shadingIn)=0 |
| virtual MCCOMErr MCCOMAPI | GetBump (TVector3 &result, ShadingIn &shadingIn)=0 |
| virtual MCCOMErr MCCOMAPI | GetMainColors (TMCColorRGBA &color1, TMCColorRGBA &color2)=0 |
| virtual MCCOMErr MCCOMAPI | ShaderModified ()=0 |
| virtual MCCOMErr MCCOMAPI | GetFlatennedTexturesSync (uint32 uvSpaceID, UVMaps &maps, boolean wantsProgress, TMCRealRect *range=nil) const =0 |
| virtual MCCOMErr MCCOMAPI | GetFlatennedTexturesAsync (uint32 uvSpaceID, UVMaps &maps, TextureAvailableProc proc, void *privData, TMCRealRect *range=nil) const =0 |
| virtual MCCOMErr MCCOMAPI | FlushFlatennedTextureCaches ()=0 |
| virtual MCCOMErr MCCOMAPI | SetShadingFromMaps (uint32 uvSpaceID, UVMaps &maps, MapParams *mapParams, TMCRealRect *range=nil)=0 |
| virtual void MCCOMAPI | GetBoundingBox (TBBox3D &bbox, ETreeDeformBBoxModes deformMode, boolean rendering=true)=0 |
| virtual void MCCOMAPI | GetFacetBoundingBox (TBBox3D &bbox, ETreeDeformBBoxModes deformMode, TMatrix33 &mappingTransform, void *listener, uint32 matrixChangedPhase)=0 |
| virtual MCCOMErr MCCOMAPI | Dehydrate (int16 level)=0 |
| virtual boolean MCCOMAPI | RayHit (RayHitParameters ¶m)=0 |
| virtual boolean MCCOMAPI | RayHitFacet (RayHitParameters ¶ms, uint32 facetIndex, real lod)=0 |
| virtual MCCOMErr MCCOMAPI | GetDeformed3DObject (I3DShObject **object)=0 |
| virtual MCCOMErr MCCOMAPI | GetURL (TMCString &name, int16 &kind)=0 |
| virtual MCCOMErr MCCOMAPI | SetURL (const TMCString &name, int16 kind)=0 |
| virtual int32 MCCOMAPI | GetClassSignature ()=0 |
| virtual int32 MCCOMAPI | GetInstanceKind ()=0 |
| virtual boolean MCCOMAPI | IsVolumeInstance ()=0 |
| virtual FacetMesh *MCCOMAPI | GetFacetMesh (real lod)=0 |
| virtual FacetMesh *MCCOMAPI | GetRenderingFacetMesh ()=0 |
| virtual MCCOMErr MCCOMAPI | GetIndex (int32 &index)=0 |
| virtual boolean MCCOMAPI | CastsShadow ()=0 |
| virtual boolean MCCOMAPI | ReceivesShadow ()=0 |
| virtual MCCOMErr MCCOMAPI | GetReflectionFeature (I3DExReflectionFeature **reflectionFeature)=0 |
| virtual MCCOMErr MCCOMAPI | GetRefractionFeature (I3DExRefractionFeature **refractionFeature)=0 |
| virtual MCCOMErr MCCOMAPI | SetReflectionFeature (I3DShReflectionFeature *feature, ECloneMode cloneMode)=0 |
| virtual MCCOMErr MCCOMAPI | SetReflectionFeatureByID (int32 kindID)=0 |
| virtual MCCOMErr MCCOMAPI | GetReflectionFeature (I3DShReflectionFeature **reflectionFeature)=0 |
| virtual MCCOMErr MCCOMAPI | SetRefractionFeature (I3DShRefractionFeature *feature, ECloneMode cloneMode)=0 |
| virtual MCCOMErr MCCOMAPI | SetRefractionFeatureByID (int32 kindID)=0 |
| virtual MCCOMErr MCCOMAPI | GetRefractionFeature (I3DShRefractionFeature **refractionFeature)=0 |
| virtual MCCOMErr MCCOMAPI | SetBackfaceMode (EBackfaceMode BackfaceMode)=0 |
| virtual EBackfaceMode MCCOMAPI | GetBackfaceMode ()=0 |
| virtual I3DShTreeElement *MCCOMAPI | GetTreeElement ()=0 |
| virtual void MCCOMAPI | SetTemporaryCache (IMCUnknown *cache)=0 |
| virtual const IMCUnknown *MCCOMAPI | GetTemporaryCache ()=0 |
| virtual void MCCOMAPI | LockRenderingCaches (TRenderingCacheLock &lock)=0 |
| virtual void MCCOMAPI | SetRenderingCache (const IDType cacheType, TInstanceRenderingCache *cache)=0 |
| virtual TInstanceRenderingCache *MCCOMAPI | GetRenderingCache (IDType cacheType, uint32 instanceIndex)=0 |
| virtual void MCCOMAPI | DeleteRenderingCaches ()=0 |
| virtual boolean | IsGenerator () const =0 |
Instances always support the following interfaces : I3DShTreeElement, I3DShShadableTree, ISelectableObject
|
|
These are the constants returned from GetInstanceKind().
|
|
|
Returns true if the instance is casting shadows on other objects. |
|
|
|
|
|
Delete all the rendering caches (at the end of a frame) |
|
||||||||||||
|
Returns the shading of a point located on this instance.
|
|
|
Delete the caches of the flattened textures. |
|
|
Returns a pointer to the Master Object that stores the geometry associated with this instance. Note that you should call GetDeformed3DObject() if you want to have the geometry of the instance once the deformers have been applied.
|
|
|
Returns the backface culling mode (see EBackfaceMode). |
|
||||||||||||||||
|
Returns the bounding box of the instance in local coordinates.
|
|
||||||||||||
|
Not implemented. |
|
|
Returns the Class ID of the external object that is associated with the instance. For a primitive it is the class ID of the external primitive, for a light it is the class ID of the light source, for a camera it is the class ID of the camera. |
|
|
Returns a master object that stores the geometry of the instance once the deformer have been applied.
|
|
||||||||||||||||||||||||
|
The bounding box calculated here fit exactly the facets of the object in a given direction. The FacetBounding boxes are cached inside the Object because it can take a long time to calculate. We added a listener here to accelerate the Get. So we don't have to compare mappingTransform (TMatrix33) in the look-up table. A last hit is provide inside the GetFacetBoundingBox method to make the Get on same listener very fast. Each time the BoudingBox of the object changed , the list is flushed. Each time you ask with a new mappingTransform, increment the matrixChangedPhase
|
|
|
Returns the facet mesh of the instance for a given level of details.
|
|
||||||||||||||||||||||||
|
Same as GetFlatennedTexturesSync() but the calculation is done in a thread and the maps are only returned once they have been calculated. |
|
||||||||||||||||||||
|
Calculates a set of texture maps that approximates the shading on the instance.
|
|
|
Returns the index of the instance in the master group that contains it. This is the index that is stored in the instance index GBuffer.
|
|
|
Returns the instance Kind (see EInstanceKind). |
|
||||||||||||
|
Return an approximation of the shading. |
|
|
Returns a pointer to the reflection feature of this instance.
|
|
|
Returns a pointer to the reflection feature of this instance.
|
|
|
Returns a pointer to the refraction feature of this instance.
|
|
|
Returns a pointer to the refraction feature of this instance.
|
|
||||||||||||
|
Retrieves a pointer to a rendering cache. Note that you will need to be in a critical section (see LockRenderingCaches()) to make sure that the cache does not exist already. However you can still call this function without being in a critical section to get the cache
|
|
|
Returns the facet mesh used for the final rendering |
|
|
Returns the master shader.
|
|
|
Returns the flags of the master shader.
|
|
|
Returns a pointer to the temporary cache store with SetTemporaryCache |
|
|
Returns a pointer to the I3DShTreeElement interface. |
|
||||||||||||
|
Returns the URL associated with the instance. |
|
||||||||||||
|
Return the description of a given shading domaine.
|
|
|
Returns the number of shading domaine on the instance. |
|
||||||||||||
|
Return the master shader of a given shading domaine.
|
|
|
Return true if this an instance of a generator and therefore could generate other instances. |
|
|
Returns true if the instance is a volume primitive. |
|
|
Takes a lock on the rendering caches. You should call this function before you start to build a new cache. The destructor of TRenderingCacheLock will release the lock. So you should destroy the lock once you have set the cache on the instance. |
|
|
Calculates the intersection of a Ray and the instance. (The ray should be in local coordinates of the instance.
|
|
||||||||||||||||
|
calculates the intersection between a ray and a triangle of a primitive. Note that if the primitive is self-Raytracable, the facetIndex is ignored and the intersection is calculated with the whole primitive.
|
|
|
Returns true if other objects can cast shadows on this object. |
|
|
Sets the Master Object that stores the geometry associated with this instance.
|
|
|
Sets the backface culling mode (see EBackfaceMode).
|
|
||||||||||||
|
Sets reflection feature of this instance.
|
|
|
Sets type of reflection feature of this instance.
|
|
||||||||||||
|
Sets refraction feature of this instance.
|
|
|
Sets type of refraction feature of this instance.
|
|
||||||||||||
|
Stores a rendering cache on the instance. Note that this caches are detroyed when the rendering is finished. Make sure you call LockRenderingCaches() before calculating your cache.
|
|
|
Sets the master shader that is applied to the instance.
|
|
||||||||||||||||||||
|
Undocumented. |
|
|
Sets a temporary cache on the instance (example when calculating a postrenderer per instance such as Aura3D)
|
|
||||||||||||
|
Sets the URL associated with the instance. |
|
||||||||||||
|
Set the master shader of a given shading domaine.
|
|
||||||||||||
|
Calculate the lighting and shading of a point located on this instance.
|
|
|
Notify the instance that its shader has been modified. |
|
|
Returns true if the instance has the default shader applied to it. |
1.4.5